package com.etl.creditor.model;

import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.xr.model.Model;

/**
 * <p>
 * 债权信息
 * </p>
 *
 * @author Arnold Yang
 * @since 2018-03-25
 */
@TableName("etl_creditor")
public class Creditor extends Model {

    private static final long serialVersionUID = 1L;

    /**
     * 债权ID
     */
    @TableId(value = "creditor_id", type = IdType.AUTO)
    private Integer creditorId;
    /**
     * 标的id
     */
    @TableField("borrow_id")
    private Integer borrowId;
    /**
     * 债权人
     */
    @TableField("user_id")
    private Integer userId;
    /**
     * 投资金额
     */
    @TableField("invest_amount")
    private Double investAmount;
    /**
     * 剩余期数
     */
    @TableField("surplus_period")
    private Integer surplusPeriod;
    /**
     * 待回收金额
     */
    @TableField("unpaid_amount")
    private Double unpaidAmount;
    /**
     * 待回收本金
     */
    @TableField("unpaid_capital")
    private Double unpaidCapital;
    /**
     * 待回收利息
     */
    @TableField("unpaid_interest")
    private Double unpaidInterest;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 债权开始日期
     */
    @TableField("start_time")
    private Integer startTime;
    /**
     * 债权结束日期
     */
    @TableField("end_time")
    private Integer endTime;
    /**
     * 债权转让目标用户ID
     */
    @TableField("transfer_user_id")
    private Integer transferUserId;
    /**
     * 债转开始时间
     */
    @TableField("transfer_start_time")
    private Integer transferStartTime;
    /**
     * 债转结束时间
     */
    @TableField("transfer_end_time")
    private Integer transferEndTime;
    /**
     * 债转成交时间
     */
    @TableField("transfer_transaction_time")
    private Integer transferTransactionTime;
    /**
     * 债转债权公允价值
     */
    @TableField("transfer_value")
    private Double transferValue;
    /**
     * 债转剩余本金
     */
    @TableField("transfer_surplus_capital")
    private Double transferSurplusCapital;
    /**
     * 债转待收本息
     */
    @TableField("transfer_unpaid_capital_interest")
    private Double transferUnpaidCapitalInterest;
    /**
     * 债转剩余期限
     */
    @TableField("transfer_surplus_period")
    private Integer transferSurplusPeriod;
    /**
     * 持有原始本金份数
     */
    @TableField("partion_num")
    private Integer partionNum;

    public Integer getCreditorId() {
        return creditorId;
    }

    public void setCreditorId(Integer creditorId) {
        this.creditorId = creditorId;
    }

    public Integer getBorrowId() {
        return borrowId;
    }

    public void setBorrowId(Integer borrowId) {
        this.borrowId = borrowId;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public Double getInvestAmount() {
        return investAmount;
    }

    public void setInvestAmount(Double investAmount) {
        this.investAmount = investAmount;
    }

    public Integer getSurplusPeriod() {
        return surplusPeriod;
    }

    public void setSurplusPeriod(Integer surplusPeriod) {
        this.surplusPeriod = surplusPeriod;
    }

    public Double getUnpaidAmount() {
        return unpaidAmount;
    }

    public void setUnpaidAmount(Double unpaidAmount) {
        this.unpaidAmount = unpaidAmount;
    }

    public Double getUnpaidCapital() {
        return unpaidCapital;
    }

    public void setUnpaidCapital(Double unpaidCapital) {
        this.unpaidCapital = unpaidCapital;
    }

    public Double getUnpaidInterest() {
        return unpaidInterest;
    }

    public void setUnpaidInterest(Double unpaidInterest) {
        this.unpaidInterest = unpaidInterest;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStartTime() {
        return startTime;
    }

    public void setStartTime(Integer startTime) {
        this.startTime = startTime;
    }

    public Integer getEndTime() {
        return endTime;
    }

    public void setEndTime(Integer endTime) {
        this.endTime = endTime;
    }

    public Integer getTransferUserId() {
        return transferUserId;
    }

    public void setTransferUserId(Integer transferUserId) {
        this.transferUserId = transferUserId;
    }

    public Integer getTransferStartTime() {
        return transferStartTime;
    }

    public void setTransferStartTime(Integer transferStartTime) {
        this.transferStartTime = transferStartTime;
    }

    public Integer getTransferEndTime() {
        return transferEndTime;
    }

    public void setTransferEndTime(Integer transferEndTime) {
        this.transferEndTime = transferEndTime;
    }

    public Integer getTransferTransactionTime() {
        return transferTransactionTime;
    }

    public void setTransferTransactionTime(Integer transferTransactionTime) {
        this.transferTransactionTime = transferTransactionTime;
    }

    public Double getTransferValue() {
        return transferValue;
    }

    public void setTransferValue(Double transferValue) {
        this.transferValue = transferValue;
    }

    public Double getTransferSurplusCapital() {
        return transferSurplusCapital;
    }

    public void setTransferSurplusCapital(Double transferSurplusCapital) {
        this.transferSurplusCapital = transferSurplusCapital;
    }

    public Double getTransferUnpaidCapitalInterest() {
        return transferUnpaidCapitalInterest;
    }

    public void setTransferUnpaidCapitalInterest(Double transferUnpaidCapitalInterest) {
        this.transferUnpaidCapitalInterest = transferUnpaidCapitalInterest;
    }

    public Integer getTransferSurplusPeriod() {
        return transferSurplusPeriod;
    }

    public void setTransferSurplusPeriod(Integer transferSurplusPeriod) {
        this.transferSurplusPeriod = transferSurplusPeriod;
    }

    public Integer getPartionNum() {
        return partionNum;
    }

    public void setPartionNum(Integer partionNum) {
        this.partionNum = partionNum;
    }

    @Override
    public String toString() {
        return "Creditor{" +
        ", creditorId=" + creditorId +
        ", borrowId=" + borrowId +
        ", userId=" + userId +
        ", investAmount=" + investAmount +
        ", surplusPeriod=" + surplusPeriod +
        ", unpaidAmount=" + unpaidAmount +
        ", unpaidCapital=" + unpaidCapital +
        ", unpaidInterest=" + unpaidInterest +
        ", status=" + status +
        ", startTime=" + startTime +
        ", endTime=" + endTime +
        ", transferUserId=" + transferUserId +
        ", transferStartTime=" + transferStartTime +
        ", transferEndTime=" + transferEndTime +
        ", transferTransactionTime=" + transferTransactionTime +
        ", transferValue=" + transferValue +
        ", transferSurplusCapital=" + transferSurplusCapital +
        ", transferUnpaidCapitalInterest=" + transferUnpaidCapitalInterest +
        ", transferSurplusPeriod=" + transferSurplusPeriod +
        ", partionNum=" + partionNum +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        ", version=" + version +
        ", feature=" + feature +
        "}";
    }
}
